IG_ISIS_drv_unload_pipe() can unload any pipe (whether or not it was created with IG_ISIS_drv_load_init_pipe() ), provided the pipe does not contain any splits. Often, however, you may want to unlink and unload drivers separately, because typically the scanner driver should remain loaded during the entire time the application is active.